<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /usr/include/sys/stat.h</title>
  </head>
  <body>
    <h1>File: /usr/include/sys/stat.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> * Copyright (c) 2000-2014 Apple Inc. All rights reserved.</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> *</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> * @APPLE_OSREFERENCE_LICENSE_HEADER_START@</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> * </span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * This file contains Original Code and/or Modifications of Original Code</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * as defined in and that are subject to the Apple Public Source License</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * Version 2.0 (the &apos;License&apos;). You may not use this file except in</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * compliance with the License. The rights granted to you under the License</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * may not be used to create, or enable the creation or redistribution of,</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * unlawful or unlicensed copies of an Apple operating system, or to</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * circumvent, violate, or enable the circumvention or violation of, any</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * terms of an Apple operating system software license agreement.</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * </span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * Please obtain a copy of the License at</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * http://www.opensource.apple.com/apsl/ and read it before using this file.</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * </span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * The Original Code and all software distributed under the License are</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * distributed on an &apos;AS IS&apos; basis, WITHOUT WARRANTY OF ANY KIND, EITHER</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> * Please see the License for the specific language governing rights and</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> * limitations under the License.</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> * </span>
<a name="26" /><span class="True">      26:</span> <span class="k"> * @APPLE_OSREFERENCE_LICENSE_HEADER_END@</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> */</span>
<a name="28" /><span class="True">      28:</span> <span class="k">/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */</span>
<a name="29" /><span class="True">      29:</span> <span class="k">/*-</span>
<a name="30" /><span class="True">      30:</span> <span class="k"> * Copyright (c) 1982, 1986, 1989, 1993</span>
<a name="31" /><span class="True">      31:</span> <span class="k"> *    The Regents of the University of California.  All rights reserved.</span>
<a name="32" /><span class="True">      32:</span> <span class="k"> * (c) UNIX System Laboratories, Inc.</span>
<a name="33" /><span class="True">      33:</span> <span class="k"> * All or some portions of this file are derived from material licensed</span>
<a name="34" /><span class="True">      34:</span> <span class="k"> * to the University of California by American Telephone and Telegraph</span>
<a name="35" /><span class="True">      35:</span> <span class="k"> * Co. or Unix System Laboratories, Inc. and are reproduced herein with</span>
<a name="36" /><span class="True">      36:</span> <span class="k"> * the permission of UNIX System Laboratories, Inc.</span>
<a name="37" /><span class="True">      37:</span> <span class="k"> *</span>
<a name="38" /><span class="True">      38:</span> <span class="k"> * Redistribution and use in source and binary forms, with or without</span>
<a name="39" /><span class="True">      39:</span> <span class="k"> * modification, are permitted provided that the following conditions</span>
<a name="40" /><span class="True">      40:</span> <span class="k"> * are met:</span>
<a name="41" /><span class="True">      41:</span> <span class="k"> * 1. Redistributions of source code must retain the above copyright</span>
<a name="42" /><span class="True">      42:</span> <span class="k"> *    notice, this list of conditions and the following disclaimer.</span>
<a name="43" /><span class="True">      43:</span> <span class="k"> * 2. Redistributions in binary form must reproduce the above copyright</span>
<a name="44" /><span class="True">      44:</span> <span class="k"> *    notice, this list of conditions and the following disclaimer in the</span>
<a name="45" /><span class="True">      45:</span> <span class="k"> *    documentation and/or other materials provided with the distribution.</span>
<a name="46" /><span class="True">      46:</span> <span class="k"> * 3. All advertising materials mentioning features or use of this software</span>
<a name="47" /><span class="True">      47:</span> <span class="k"> *    must display the following acknowledgement:</span>
<a name="48" /><span class="True">      48:</span> <span class="k"> *    This product includes software developed by the University of</span>
<a name="49" /><span class="True">      49:</span> <span class="k"> *    California, Berkeley and its contributors.</span>
<a name="50" /><span class="True">      50:</span> <span class="k"> * 4. Neither the name of the University nor the names of its contributors</span>
<a name="51" /><span class="True">      51:</span> <span class="k"> *    may be used to endorse or promote products derived from this software</span>
<a name="52" /><span class="True">      52:</span> <span class="k"> *    without specific prior written permission.</span>
<a name="53" /><span class="True">      53:</span> <span class="k"> *</span>
<a name="54" /><span class="True">      54:</span> <span class="k"> * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS&apos;&apos; AND</span>
<a name="55" /><span class="True">      55:</span> <span class="k"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
<a name="56" /><span class="True">      56:</span> <span class="k"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
<a name="57" /><span class="True">      57:</span> <span class="k"> * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</span>
<a name="58" /><span class="True">      58:</span> <span class="k"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
<a name="59" /><span class="True">      59:</span> <span class="k"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
<a name="60" /><span class="True">      60:</span> <span class="k"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
<a name="61" /><span class="True">      61:</span> <span class="k"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
<a name="62" /><span class="True">      62:</span> <span class="k"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
<a name="63" /><span class="True">      63:</span> <span class="k"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
<a name="64" /><span class="True">      64:</span> <span class="k"> * SUCH DAMAGE.</span>
<a name="65" /><span class="True">      65:</span> <span class="k"> *</span>
<a name="66" /><span class="True">      66:</span> <span class="k"> *    @(#)stat.h    8.9 (Berkeley) 8/17/94</span>
<a name="67" /><span class="True">      67:</span> <span class="k"> */</span>
<a name="68" /><span class="True">      68:</span> 
<a name="69" /><span class="True">      69:</span> 
<a name="70" /><span class="True">      70:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="macros_noref.html#_X1NZU19TVEFUX0hfXzA_"><span class="b">_SYS_STAT_H_</span></a>
<a name="71" /><span class="True">      71:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_X1NZU19TVEFUX0hfXzA_"><span class="b">_SYS_STAT_H_</span></a>
<a name="72" /><span class="True">      72:</span> 
<a name="73" /><span class="True">      73:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="74" /><span class="True">      74:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">cdefs</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="75" /><span class="True">      75:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">Availability</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="76" /><span class="True">      76:</span> 
<a name="77" /><span class="True">      77:</span> <span class="k">/* [XSI] The timespec structure may be defined as described in &lt;time.h&gt; */</span>
<a name="78" /><span class="True">      78:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_timespec</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="79" /><span class="True">      79:</span> 
<a name="80" /><span class="True">      80:</span> <span class="k">/*</span>
<a name="81" /><span class="True">      81:</span> <span class="k"> * [XSI] The blkcnt_t, blksize_t, dev_t, ino_t, mode_t, nlink_t, uid_t,</span>
<a name="82" /><span class="True">      82:</span> <span class="k"> * gid_t, off_t, and time_t types shall be defined as described in</span>
<a name="83" /><span class="True">      83:</span> <span class="k"> * &lt;sys/types.h&gt;.</span>
<a name="84" /><span class="True">      84:</span> <span class="k"> */</span>
<a name="85" /><span class="True">      85:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_blkcnt_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="86" /><span class="True">      86:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_blksize_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="87" /><span class="True">      87:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_dev_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>            <span class="k">/* device number */</span>
<a name="88" /><span class="True">      88:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_ino_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="89" /><span class="True">      89:</span> 
<a name="90" /><span class="True">      90:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="91" /><span class="True">      91:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_ino64_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="92" /><span class="True">      92:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) */</span>
<a name="93" /><span class="True">      93:</span> 
<a name="94" /><span class="True">      94:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_mode_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="95" /><span class="True">      95:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_nlink_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="96" /><span class="True">      96:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_uid_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="97" /><span class="True">      97:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_gid_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="98" /><span class="True">      98:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_off_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="99" /><span class="True">      99:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_time_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="100" /><span class="True">     100:</span> 
<a name="101" /><span class="True">     101:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="102" /><span class="True">     102:</span> <span class="k">/*</span>
<a name="103" /><span class="True">     103:</span> <span class="k"> * XXX So deprecated, it would make your head spin</span>
<a name="104" /><span class="True">     104:</span> <span class="k"> *</span>
<a name="105" /><span class="True">     105:</span> <span class="k"> * The old stat structure.  In fact, this is not used by the kernel at all,</span>
<a name="106" /><span class="True">     106:</span> <span class="k"> * and should not be used by user space, and should be removed from this</span>
<a name="107" /><span class="True">     107:</span> <span class="k"> * header file entirely (along with the unused cvtstat() prototype in</span>
<a name="108" /><span class="True">     108:</span> <span class="k"> * vnode_internal.h).</span>
<a name="109" /><span class="True">     109:</span> <span class="k"> */</span>
<a name="110" /><span class="True">     110:</span> <span class="m">struct</span> <span class="b">ostat</span> <span class="f">{</span>
<a name="111" /><span class="True">     111:</span>     <span class="b">__uint16_t</span>    <span class="b">st_dev</span><span class="f">;</span>        <span class="k">/* inode&apos;s device */</span>
<a name="112" /><span class="True">     112:</span>     <span class="b">ino_t</span>        <span class="b">st_ino</span><span class="f">;</span>        <span class="k">/* inode&apos;s number */</span>
<a name="113" /><span class="True">     113:</span>     <span class="b">mode_t</span>        <span class="b">st_mode</span><span class="f">;</span>    <span class="k">/* inode protection mode */</span>
<a name="114" /><span class="True">     114:</span>     <span class="b">nlink_t</span>        <span class="b">st_nlink</span><span class="f">;</span>    <span class="k">/* number of hard links */</span>
<a name="115" /><span class="True">     115:</span>     <span class="b">__uint16_t</span>    <span class="b">st_uid</span><span class="f">;</span>        <span class="k">/* user ID of the file&apos;s owner */</span>
<a name="116" /><span class="True">     116:</span>     <span class="b">__uint16_t</span>    <span class="b">st_gid</span><span class="f">;</span>        <span class="k">/* group ID of the file&apos;s group */</span>
<a name="117" /><span class="True">     117:</span>     <span class="b">__uint16_t</span>    <span class="b">st_rdev</span><span class="f">;</span>    <span class="k">/* device type */</span>
<a name="118" /><span class="True">     118:</span>     <span class="b">__int32_t</span>    <span class="b">st_size</span><span class="f">;</span>    <span class="k">/* file size, in bytes */</span>
<a name="119" /><span class="True">     119:</span>     <span class="m">struct</span>    <span class="b">timespec</span> <span class="b">st_atimespec</span><span class="f">;</span>    <span class="k">/* time of last access */</span>
<a name="120" /><span class="True">     120:</span>     <span class="m">struct</span>    <span class="b">timespec</span> <span class="b">st_mtimespec</span><span class="f">;</span>    <span class="k">/* time of last data modification */</span>
<a name="121" /><span class="True">     121:</span>     <span class="m">struct</span>    <span class="b">timespec</span> <span class="b">st_ctimespec</span><span class="f">;</span>    <span class="k">/* time of last file status change */</span>
<a name="122" /><span class="True">     122:</span>     <span class="b">__int32_t</span>    <span class="b">st_blksize</span><span class="f">;</span>    <span class="k">/* optimal blocksize for I/O */</span>
<a name="123" /><span class="True">     123:</span>     <span class="b">__int32_t</span>    <span class="b">st_blocks</span><span class="f">;</span>    <span class="k">/* blocks allocated for file */</span>
<a name="124" /><span class="True">     124:</span>     <span class="b">__uint32_t</span>    <span class="b">st_flags</span><span class="f">;</span>    <span class="k">/* user defined flags for file */</span>
<a name="125" /><span class="True">     125:</span>     <span class="b">__uint32_t</span>    <span class="b">st_gen</span><span class="f">;</span>        <span class="k">/* file generation number */</span>
<a name="126" /><span class="True">     126:</span> <span class="f">}</span><span class="f">;</span>
<a name="127" /><span class="True">     127:</span> 
<a name="128" /><span class="True">     128:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_ref.html#_X19EQVJXSU5fU1RSVUNUX1NUQVQ2NF9USU1FU18w"><span class="b">__DARWIN_STRUCT_STAT64_TIMES</span></a> \
<a name="129" /><span class="True">     129:</span>     <span class="m">struct</span> <span class="b">timespec</span> <span class="b">st_atimespec</span><span class="f">;</span>        <span class="k">/* time of last access */</span> \
<a name="130" /><span class="True">     130:</span>     <span class="m">struct</span> <span class="b">timespec</span> <span class="b">st_mtimespec</span><span class="f">;</span>        <span class="k">/* time of last data modification */</span> \
<a name="131" /><span class="True">     131:</span>     <span class="m">struct</span> <span class="b">timespec</span> <span class="b">st_ctimespec</span><span class="f">;</span>        <span class="k">/* time of last status change */</span> \
<a name="132" /><span class="True">     132:</span>     <span class="m">struct</span> <span class="b">timespec</span> <span class="b">st_birthtimespec</span><span class="f">;</span>    <span class="k">/* time of file creation(birth) */</span>
<a name="133" /><span class="True">     133:</span> 
<a name="134" /><span class="False">     134:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* (_POSIX_C_SOURCE &amp;&amp; !_DARWIN_C_SOURCE) */</span>
<a name="135" /><span class="False">     135:</span> 
<a name="136" /><span class="False">     136:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_ref.html#_X19EQVJXSU5fU1RSVUNUX1NUQVQ2NF9USU1FU18w"><span class="b">__DARWIN_STRUCT_STAT64_TIMES</span></a> \
<a name="137" /><span class="False">     137:</span>     <span class="b">time_t</span>        <a href="macros_noref.html#_c3RfYXRpbWVfMA__"><span class="b">st_atime</span></a><span class="f">;</span>        <span class="k">/* [XSI] Time of last access */</span> \
<a name="138" /><span class="False">     138:</span>     <span class="m">long</span>        <span class="b">st_atimensec</span><span class="f">;</span>        <span class="k">/* nsec of last access */</span> \
<a name="139" /><span class="False">     139:</span>     <span class="b">time_t</span>        <a href="macros_noref.html#_c3RfbXRpbWVfMA__"><span class="b">st_mtime</span></a><span class="f">;</span>        <span class="k">/* [XSI] Last data modification time */</span> \
<a name="140" /><span class="False">     140:</span>     <span class="m">long</span>        <span class="b">st_mtimensec</span><span class="f">;</span>        <span class="k">/* last data modification nsec */</span> \
<a name="141" /><span class="False">     141:</span>     <span class="b">time_t</span>        <a href="macros_noref.html#_c3RfY3RpbWVfMA__"><span class="b">st_ctime</span></a><span class="f">;</span>        <span class="k">/* [XSI] Time of last status change */</span> \
<a name="142" /><span class="False">     142:</span>     <span class="m">long</span>        <span class="b">st_ctimensec</span><span class="f">;</span>        <span class="k">/* nsec of last status change */</span> \
<a name="143" /><span class="False">     143:</span>     <span class="b">time_t</span>        <a href="macros_noref.html#_c3RfYmlydGh0aW1lXzA_"><span class="b">st_birthtime</span></a><span class="f">;</span>        <span class="k">/*  File creation time(birth)  */</span> \
<a name="144" /><span class="False">     144:</span>     <span class="m">long</span>        <span class="b">st_birthtimensec</span><span class="f">;</span>    <span class="k">/* nsec of File creation time */</span>
<a name="145" /><span class="False">     145:</span> 
<a name="146" /><span class="True">     146:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */</span>
<a name="147" /><span class="True">     147:</span> 
<a name="148" /><span class="True">     148:</span> <span class="k">/*</span>
<a name="149" /><span class="True">     149:</span> <span class="k"> * This structure is used as the second parameter to the fstat64(),</span>
<a name="150" /><span class="True">     150:</span> <span class="k"> * lstat64(), and stat64() functions, and for struct stat when</span>
<a name="151" /><span class="True">     151:</span> <span class="k"> * __DARWIN_64_BIT_INO_T is set. __DARWIN_STRUCT_STAT64 is defined</span>
<a name="152" /><span class="True">     152:</span> <span class="k"> * above, depending on whether we use struct timespec or the direct</span>
<a name="153" /><span class="True">     153:</span> <span class="k"> * components.</span>
<a name="154" /><span class="True">     154:</span> <span class="k"> *</span>
<a name="155" /><span class="True">     155:</span> <span class="k"> * This is simillar to stat except for 64bit inode number</span>
<a name="156" /><span class="True">     156:</span> <span class="k"> * number instead of 32bit ino_t and the addition of create(birth) time.</span>
<a name="157" /><span class="True">     157:</span> <span class="k"> */</span>
<a name="158" /><span class="True">     158:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_ref.html#_X19EQVJXSU5fU1RSVUNUX1NUQVQ2NF8w"><span class="b">__DARWIN_STRUCT_STAT64</span></a> <span class="f">{</span> \
<a name="159" /><span class="True">     159:</span>     <span class="b">dev_t</span>        <span class="b">st_dev</span><span class="f">;</span>            <span class="k">/* [XSI] ID of device containing file */</span> \
<a name="160" /><span class="True">     160:</span>     <span class="b">mode_t</span>        <span class="b">st_mode</span><span class="f">;</span>        <span class="k">/* [XSI] Mode of file (see below) */</span> \
<a name="161" /><span class="True">     161:</span>     <span class="b">nlink_t</span>        <span class="b">st_nlink</span><span class="f">;</span>        <span class="k">/* [XSI] Number of hard links */</span> \
<a name="162" /><span class="True">     162:</span>     <span class="b">__darwin_ino64_t</span> <span class="b">st_ino</span><span class="f">;</span>        <span class="k">/* [XSI] File serial number */</span> \
<a name="163" /><span class="True">     163:</span>     <span class="b">uid_t</span>        <span class="b">st_uid</span><span class="f">;</span>            <span class="k">/* [XSI] User ID of the file */</span> \
<a name="164" /><span class="True">     164:</span>     <span class="b">gid_t</span>        <span class="b">st_gid</span><span class="f">;</span>            <span class="k">/* [XSI] Group ID of the file */</span> \
<a name="165" /><span class="True">     165:</span>     <span class="b">dev_t</span>        <span class="b">st_rdev</span><span class="f">;</span>        <span class="k">/* [XSI] Device ID */</span> \
<a name="166" /><span class="True">     166:</span>     <a href="macros_ref.html#_X19EQVJXSU5fU1RSVUNUX1NUQVQ2NF9USU1FU18w"><span class="b">__DARWIN_STRUCT_STAT64_TIMES</span></a> \
<a name="167" /><span class="True">     167:</span>     <span class="b">off_t</span>        <span class="b">st_size</span><span class="f">;</span>        <span class="k">/* [XSI] file size, in bytes */</span> \
<a name="168" /><span class="True">     168:</span>     <span class="b">blkcnt_t</span>    <span class="b">st_blocks</span><span class="f">;</span>        <span class="k">/* [XSI] blocks allocated for file */</span> \
<a name="169" /><span class="True">     169:</span>     <span class="b">blksize_t</span>    <span class="b">st_blksize</span><span class="f">;</span>        <span class="k">/* [XSI] optimal blocksize for I/O */</span> \
<a name="170" /><span class="True">     170:</span>     <span class="b">__uint32_t</span>    <span class="b">st_flags</span><span class="f">;</span>        <span class="k">/* user defined flags for file */</span> \
<a name="171" /><span class="True">     171:</span>     <span class="b">__uint32_t</span>    <span class="b">st_gen</span><span class="f">;</span>            <span class="k">/* file generation number */</span> \
<a name="172" /><span class="True">     172:</span>     <span class="b">__int32_t</span>    <span class="b">st_lspare</span><span class="f">;</span>        <span class="k">/* RESERVED: DO NOT USE! */</span> \
<a name="173" /><span class="True">     173:</span>     <span class="b">__int64_t</span>    <span class="b">st_qspare</span><span class="f">[</span><span class="c">2</span><span class="f">]</span><span class="f">;</span>        <span class="k">/* RESERVED: DO NOT USE! */</span> \
<a name="174" /><span class="True">     174:</span> <span class="f">}</span>
<a name="175" /><span class="True">     175:</span> 
<a name="176" /><span class="True">     176:</span> <span class="k">/*</span>
<a name="177" /><span class="True">     177:</span> <span class="k"> * [XSI] This structure is used as the second parameter to the fstat(),</span>
<a name="178" /><span class="True">     178:</span> <span class="k"> * lstat(), and stat() functions.</span>
<a name="179" /><span class="True">     179:</span> <span class="k"> */</span>
<a name="180" /><span class="True">     180:</span> <span class="f">#</span><span class="n">if</span> <a href="macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a>
<a name="181" /><span class="True">     181:</span> 
<a name="182" /><span class="True">     182:</span> <span class="m">struct</span> <span class="b">stat</span> <a href="macros_ref.html#_X19EQVJXSU5fU1RSVUNUX1NUQVQ2NF8w"><span class="b">__DARWIN_STRUCT_STAT64</span></a><span class="f">;</span>
<a name="183" /><span class="True">     183:</span> 
<a name="184" /><span class="False">     184:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* !__DARWIN_64_BIT_INO_T */</span>
<a name="185" /><span class="False">     185:</span> 
<a name="186" /><span class="False">     186:</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">{</span>
<a name="187" /><span class="False">     187:</span>     <span class="b">dev_t</span>         <span class="b">st_dev</span><span class="f">;</span>        <span class="k">/* [XSI] ID of device containing file */</span>
<a name="188" /><span class="False">     188:</span>     <span class="b">ino_t</span>          <span class="b">st_ino</span><span class="f">;</span>        <span class="k">/* [XSI] File serial number */</span>
<a name="189" /><span class="False">     189:</span>     <span class="b">mode_t</span>         <span class="b">st_mode</span><span class="f">;</span>    <span class="k">/* [XSI] Mode of file (see below) */</span>
<a name="190" /><span class="False">     190:</span>     <span class="b">nlink_t</span>        <span class="b">st_nlink</span><span class="f">;</span>    <span class="k">/* [XSI] Number of hard links */</span>
<a name="191" /><span class="False">     191:</span>     <span class="b">uid_t</span>        <span class="b">st_uid</span><span class="f">;</span>        <span class="k">/* [XSI] User ID of the file */</span>
<a name="192" /><span class="False">     192:</span>     <span class="b">gid_t</span>        <span class="b">st_gid</span><span class="f">;</span>        <span class="k">/* [XSI] Group ID of the file */</span>
<a name="193" /><span class="False">     193:</span>     <span class="b">dev_t</span>        <span class="b">st_rdev</span><span class="f">;</span>    <span class="k">/* [XSI] Device ID */</span>
<a name="194" /><span class="False">     194:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="195" /><span class="False">     195:</span>     <span class="m">struct</span>    <span class="b">timespec</span> <span class="b">st_atimespec</span><span class="f">;</span>    <span class="k">/* time of last access */</span>
<a name="196" /><span class="False">     196:</span>     <span class="m">struct</span>    <span class="b">timespec</span> <span class="b">st_mtimespec</span><span class="f">;</span>    <span class="k">/* time of last data modification */</span>
<a name="197" /><span class="False">     197:</span>     <span class="m">struct</span>    <span class="b">timespec</span> <span class="b">st_ctimespec</span><span class="f">;</span>    <span class="k">/* time of last status change */</span>
<a name="198" /><span class="False">     198:</span> <span class="f">#</span><span class="n">else</span>
<a name="199" /><span class="False">     199:</span>     <span class="b">time_t</span>        <a href="macros_noref.html#_c3RfYXRpbWVfMA__"><span class="b">st_atime</span></a><span class="f">;</span>    <span class="k">/* [XSI] Time of last access */</span>
<a name="200" /><span class="False">     200:</span>     <span class="m">long</span>        <span class="b">st_atimensec</span><span class="f">;</span>    <span class="k">/* nsec of last access */</span>
<a name="201" /><span class="False">     201:</span>     <span class="b">time_t</span>        <a href="macros_noref.html#_c3RfbXRpbWVfMA__"><span class="b">st_mtime</span></a><span class="f">;</span>    <span class="k">/* [XSI] Last data modification time */</span>
<a name="202" /><span class="False">     202:</span>     <span class="m">long</span>        <span class="b">st_mtimensec</span><span class="f">;</span>    <span class="k">/* last data modification nsec */</span>
<a name="203" /><span class="False">     203:</span>     <span class="b">time_t</span>        <a href="macros_noref.html#_c3RfY3RpbWVfMA__"><span class="b">st_ctime</span></a><span class="f">;</span>    <span class="k">/* [XSI] Time of last status change */</span>
<a name="204" /><span class="False">     204:</span>     <span class="m">long</span>        <span class="b">st_ctimensec</span><span class="f">;</span>    <span class="k">/* nsec of last status change */</span>
<a name="205" /><span class="False">     205:</span> <span class="f">#</span><span class="n">endif</span>
<a name="206" /><span class="False">     206:</span>     <span class="b">off_t</span>        <span class="b">st_size</span><span class="f">;</span>    <span class="k">/* [XSI] file size, in bytes */</span>
<a name="207" /><span class="False">     207:</span>     <span class="b">blkcnt_t</span>    <span class="b">st_blocks</span><span class="f">;</span>    <span class="k">/* [XSI] blocks allocated for file */</span>
<a name="208" /><span class="False">     208:</span>     <span class="b">blksize_t</span>    <span class="b">st_blksize</span><span class="f">;</span>    <span class="k">/* [XSI] optimal blocksize for I/O */</span>
<a name="209" /><span class="False">     209:</span>     <span class="b">__uint32_t</span>    <span class="b">st_flags</span><span class="f">;</span>    <span class="k">/* user defined flags for file */</span>
<a name="210" /><span class="False">     210:</span>     <span class="b">__uint32_t</span>    <span class="b">st_gen</span><span class="f">;</span>        <span class="k">/* file generation number */</span>
<a name="211" /><span class="False">     211:</span>     <span class="b">__int32_t</span>    <span class="b">st_lspare</span><span class="f">;</span>    <span class="k">/* RESERVED: DO NOT USE! */</span>
<a name="212" /><span class="False">     212:</span>     <span class="b">__int64_t</span>    <span class="b">st_qspare</span><span class="f">[</span><span class="c">2</span><span class="f">]</span><span class="f">;</span>    <span class="k">/* RESERVED: DO NOT USE! */</span>
<a name="213" /><span class="False">     213:</span> <span class="f">}</span><span class="f">;</span>
<a name="214" /><span class="False">     214:</span> 
<a name="215" /><span class="True">     215:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* __DARWIN_64_BIT_INO_T */</span>
<a name="216" /><span class="True">     216:</span> 
<a name="217" /><span class="True">     217:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="218" /><span class="True">     218:</span> 
<a name="219" /><span class="False">     219:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><a href="macros_ref.html#_X19EQVJXSU5fT05MWV82NF9CSVRfSU5PX1RfMA__"><span class="b">__DARWIN_ONLY_64_BIT_INO_T</span></a>
<a name="220" /><span class="False">     220:</span> 
<a name="221" /><span class="False">     221:</span> <span class="m">struct</span> <span class="b">stat64</span> <a href="macros_ref.html#_X19EQVJXSU5fU1RSVUNUX1NUQVQ2NF8w"><span class="b">__DARWIN_STRUCT_STAT64</span></a><span class="f">;</span>
<a name="222" /><span class="False">     222:</span> 
<a name="223" /><span class="True">     223:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__DARWIN_ONLY_64_BIT_INO_T */</span>
<a name="224" /><span class="True">     224:</span> 
<a name="225" /><span class="True">     225:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */</span>
<a name="226" /><span class="True">     226:</span> 
<a name="227" /><span class="True">     227:</span> 
<a name="228" /><span class="True">     228:</span> 
<a name="229" /><span class="True">     229:</span> 
<a name="230" /><span class="True">     230:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="231" /><span class="True">     231:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_c3RfYXRpbWVfMA__"><span class="b">st_atime</span></a> <span class="b">st_atimespec</span><span class="f">.</span><span class="b">tv_sec</span>
<a name="232" /><span class="True">     232:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_c3RfbXRpbWVfMA__"><span class="b">st_mtime</span></a> <span class="b">st_mtimespec</span><span class="f">.</span><span class="b">tv_sec</span>
<a name="233" /><span class="True">     233:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_c3RfY3RpbWVfMA__"><span class="b">st_ctime</span></a> <span class="b">st_ctimespec</span><span class="f">.</span><span class="b">tv_sec</span>
<a name="234" /><span class="True">     234:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_c3RfYmlydGh0aW1lXzA_"><span class="b">st_birthtime</span></a> <span class="b">st_birthtimespec</span><span class="f">.</span><span class="b">tv_sec</span>
<a name="235" /><span class="True">     235:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */</span>
<a name="236" /><span class="True">     236:</span> 
<a name="237" /><span class="True">     237:</span> <span class="k">/*</span>
<a name="238" /><span class="True">     238:</span> <span class="k"> * [XSI] The following are symbolic names for the values of type mode_t.  They</span>
<a name="239" /><span class="True">     239:</span> <span class="k"> * are bitmap values.</span>
<a name="240" /><span class="True">     240:</span> <span class="k"> */</span>
<a name="241" /><span class="True">     241:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_s_ifmt</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="242" /><span class="True">     242:</span> 
<a name="243" /><span class="True">     243:</span> <span class="k">/*</span>
<a name="244" /><span class="True">     244:</span> <span class="k"> * [XSI] The following macros shall be provided to test whether a file is</span>
<a name="245" /><span class="True">     245:</span> <span class="k"> * of the specified type.  The value m supplied to the macros is the value</span>
<a name="246" /><span class="True">     246:</span> <span class="k"> * of st_mode from a stat structure.  The macro shall evaluate to a non-zero</span>
<a name="247" /><span class="True">     247:</span> <span class="k"> * value if the test is true; 0 if the test is false.</span>
<a name="248" /><span class="True">     248:</span> <span class="k"> */</span>
<a name="249" /><span class="True">     249:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19JU0JMS18w"><span class="b">S_ISBLK</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_noref.html#_U19JRkJMS18w"><span class="b">S_IFBLK</span></a><span class="f">)</span>    <span class="k">/* block special */</span>
<a name="250" /><span class="True">     250:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_ref.html#_U19JU0NIUl8w"><span class="b">S_ISCHR</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_noref.html#_U19JRkNIUl8w"><span class="b">S_IFCHR</span></a><span class="f">)</span>    <span class="k">/* char special */</span>
<a name="251" /><span class="True">     251:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_ref.html#_U19JU0RJUl8w"><span class="b">S_ISDIR</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_noref.html#_U19JRkRJUl8w"><span class="b">S_IFDIR</span></a><span class="f">)</span>    <span class="k">/* directory */</span>
<a name="252" /><span class="True">     252:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19JU0ZJRk9fMA__"><span class="b">S_ISFIFO</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_noref.html#_U19JRklGT18w"><span class="b">S_IFIFO</span></a><span class="f">)</span>    <span class="k">/* fifo or socket */</span>
<a name="253" /><span class="True">     253:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_ref.html#_U19JU1JFR18w"><span class="b">S_ISREG</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_noref.html#_U19JRlJFR18w"><span class="b">S_IFREG</span></a><span class="f">)</span>    <span class="k">/* regular file */</span>
<a name="254" /><span class="True">     254:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19JU0xOS18w"><span class="b">S_ISLNK</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_ref.html#_U19JRkxOS18w"><span class="b">S_IFLNK</span></a><span class="f">)</span>    <span class="k">/* symbolic link */</span>
<a name="255" /><span class="True">     255:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19JU1NPQ0tfMA__"><span class="b">S_ISSOCK</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_noref.html#_U19JRlNPQ0tfMA__"><span class="b">S_IFSOCK</span></a><span class="f">)</span>    <span class="k">/* socket */</span>
<a name="256" /><span class="True">     256:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="257" /><span class="True">     257:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19JU1dIVF8w"><span class="b">S_ISWHT</span></a><span class="f">(</span><span class="b">m</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="f">(</span><span class="b">m</span><span class="f">)</span> <span class="f">&amp;</span> <a href="macros_ref.html#_U19JRk1UXzA_"><span class="b">S_IFMT</span></a><span class="f">)</span> <span class="f">==</span> <a href="macros_noref.html#_U19JRldIVF8w"><span class="b">S_IFWHT</span></a><span class="f">)</span>    <span class="k">/* OBSOLETE: whiteout */</span>
<a name="258" /><span class="True">     258:</span> <span class="f">#</span><span class="n">endif</span>
<a name="259" /><span class="True">     259:</span> 
<a name="260" /><span class="True">     260:</span> <span class="k">/*</span>
<a name="261" /><span class="True">     261:</span> <span class="k"> * [XSI] The implementation may implement message queues, semaphores, or</span>
<a name="262" /><span class="True">     262:</span> <span class="k"> * shared memory objects as distinct file types.  The following macros</span>
<a name="263" /><span class="True">     263:</span> <span class="k"> * shall be provided to test whether a file is of the specified type.</span>
<a name="264" /><span class="True">     264:</span> <span class="k"> * The value of the buf argument supplied to the macros is a pointer to</span>
<a name="265" /><span class="True">     265:</span> <span class="k"> * a stat structure.  The macro shall evaluate to a non-zero value if</span>
<a name="266" /><span class="True">     266:</span> <span class="k"> * the specified object is implemented as a distinct file type and the</span>
<a name="267" /><span class="True">     267:</span> <span class="k"> * specified file type is contained in the stat structure referenced by</span>
<a name="268" /><span class="True">     268:</span> <span class="k"> * buf.  Otherwise, the macro shall evaluate to zero.</span>
<a name="269" /><span class="True">     269:</span> <span class="k"> *</span>
<a name="270" /><span class="True">     270:</span> <span class="k"> * NOTE:    The current implementation does not do this, although</span>
<a name="271" /><span class="True">     271:</span> <span class="k"> *        this may change in future revisions, and co currently only</span>
<a name="272" /><span class="True">     272:</span> <span class="k"> *        provides these macros to ensure source compatability with</span>
<a name="273" /><span class="True">     273:</span> <span class="k"> *        implementations which do.</span>
<a name="274" /><span class="True">     274:</span> <span class="k"> */</span>
<a name="275" /><span class="True">     275:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19UWVBFSVNNUV8w"><span class="b">S_TYPEISMQ</span></a><span class="f">(</span><span class="b">buf</span><span class="f">)</span>        <span class="f">(</span><span class="c">0</span><span class="f">)</span>    <span class="k">/* Test for a message queue */</span>
<a name="276" /><span class="True">     276:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19UWVBFSVNTRU1fMA__"><span class="b">S_TYPEISSEM</span></a><span class="f">(</span><span class="b">buf</span><span class="f">)</span>    <span class="f">(</span><span class="c">0</span><span class="f">)</span>    <span class="k">/* Test for a semaphore */</span>
<a name="277" /><span class="True">     277:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19UWVBFSVNTSE1fMA__"><span class="b">S_TYPEISSHM</span></a><span class="f">(</span><span class="b">buf</span><span class="f">)</span>    <span class="f">(</span><span class="c">0</span><span class="f">)</span>    <span class="k">/* Test for a shared memory object */</span>
<a name="278" /><span class="True">     278:</span> 
<a name="279" /><span class="True">     279:</span> <span class="k">/*</span>
<a name="280" /><span class="True">     280:</span> <span class="k"> * [TYM] The implementation may implement typed memory objects as distinct</span>
<a name="281" /><span class="True">     281:</span> <span class="k"> * file types, and the following macro shall test whether a file is of the</span>
<a name="282" /><span class="True">     282:</span> <span class="k"> * specified type.  The value of the buf argument supplied to the macros is</span>
<a name="283" /><span class="True">     283:</span> <span class="k"> * a pointer to a stat structure.  The macro shall evaluate to a non-zero</span>
<a name="284" /><span class="True">     284:</span> <span class="k"> * value if the specified object is implemented as a distinct file type and</span>
<a name="285" /><span class="True">     285:</span> <span class="k"> * the specified file type is contained in the stat structure referenced by</span>
<a name="286" /><span class="True">     286:</span> <span class="k"> * buf.  Otherwise, the macro shall evaluate to zero.</span>
<a name="287" /><span class="True">     287:</span> <span class="k"> *</span>
<a name="288" /><span class="True">     288:</span> <span class="k"> * NOTE:    The current implementation does not do this, although</span>
<a name="289" /><span class="True">     289:</span> <span class="k"> *        this may change in future revisions, and co currently only</span>
<a name="290" /><span class="True">     290:</span> <span class="k"> *        provides this macro to ensure source compatability with</span>
<a name="291" /><span class="True">     291:</span> <span class="k"> *        implementations which do.</span>
<a name="292" /><span class="True">     292:</span> <span class="k"> */</span>
<a name="293" /><span class="True">     293:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U19UWVBFSVNUTU9fMA__"><span class="b">S_TYPEISTMO</span></a><span class="f">(</span><span class="b">buf</span><span class="f">)</span>    <span class="f">(</span><span class="c">0</span><span class="f">)</span>    <span class="k">/* Test for a typed memory object */</span>
<a name="294" /><span class="True">     294:</span> 
<a name="295" /><span class="True">     295:</span> 
<a name="296" /><span class="True">     296:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="297" /><span class="True">     297:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_QUNDRVNTUEVSTVNfMA__"><span class="b">ACCESSPERMS</span></a>    <span class="f">(</span><a href="macros_noref.html#_U19JUldYVV8w"><span class="b">S_IRWXU</span></a><span class="f">|</span><a href="macros_noref.html#_U19JUldYR18w"><span class="b">S_IRWXG</span></a><span class="f">|</span><a href="macros_noref.html#_U19JUldYT18w"><span class="b">S_IRWXO</span></a><span class="f">)</span>    <span class="k">/* 0777 */</span>
<a name="298" /><span class="True">     298:</span>                             <span class="k">/* 7777 */</span>
<a name="299" /><span class="True">     299:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_QUxMUEVSTVNfMA__"><span class="b">ALLPERMS</span></a>    <span class="f">(</span><a href="macros_noref.html#_U19JU1VJRF8w"><span class="b">S_ISUID</span></a><span class="f">|</span><a href="macros_noref.html#_U19JU0dJRF8w"><span class="b">S_ISGID</span></a><span class="f">|</span><a href="macros_noref.html#_U19JU1RYVF8w"><span class="b">S_ISTXT</span></a><span class="f">|</span><a href="macros_noref.html#_U19JUldYVV8w"><span class="b">S_IRWXU</span></a><span class="f">|</span><a href="macros_noref.html#_U19JUldYR18w"><span class="b">S_IRWXG</span></a><span class="f">|</span><a href="macros_noref.html#_U19JUldYT18w"><span class="b">S_IRWXO</span></a><span class="f">)</span>
<a name="300" /><span class="True">     300:</span>                             <span class="k">/* 0666 */</span>
<a name="301" /><span class="True">     301:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_REVGRklMRU1PREVfMA__"><span class="b">DEFFILEMODE</span></a>    <span class="f">(</span><a href="macros_noref.html#_U19JUlVTUl8w"><span class="b">S_IRUSR</span></a><span class="f">|</span><a href="macros_noref.html#_U19JV1VTUl8w"><span class="b">S_IWUSR</span></a><span class="f">|</span><a href="macros_noref.html#_U19JUkdSUF8w"><span class="b">S_IRGRP</span></a><span class="f">|</span><a href="macros_noref.html#_U19JV0dSUF8w"><span class="b">S_IWGRP</span></a><span class="f">|</span><a href="macros_noref.html#_U19JUk9USF8w"><span class="b">S_IROTH</span></a><span class="f">|</span><a href="macros_noref.html#_U19JV09USF8w"><span class="b">S_IWOTH</span></a><span class="f">)</span>
<a name="302" /><span class="True">     302:</span> 
<a name="303" /><span class="True">     303:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_U19CTEtTSVpFXzA_"><span class="b">S_BLKSIZE</span></a>    <span class="c">512</span>        <span class="k">/* block size used in the stat struct */</span>
<a name="304" /><span class="True">     304:</span> 
<a name="305" /><span class="True">     305:</span> <span class="k">/*</span>
<a name="306" /><span class="True">     306:</span> <span class="k"> * Definitions of flags stored in file flags word.</span>
<a name="307" /><span class="True">     307:</span> <span class="k"> *</span>
<a name="308" /><span class="True">     308:</span> <span class="k"> * Super-user and owner changeable flags.</span>
<a name="309" /><span class="True">     309:</span> <span class="k"> */</span>
<a name="310" /><span class="True">     310:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_VUZfU0VUVEFCTEVfMA__"><span class="b">UF_SETTABLE</span></a>    <span class="c">0x0000ffff</span>    <span class="k">/* mask of owner changeable flags */</span>
<a name="311" /><span class="True">     311:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_VUZfTk9EVU1QXzA_"><span class="b">UF_NODUMP</span></a>    <span class="c">0x00000001</span>    <span class="k">/* do not dump file */</span>
<a name="312" /><span class="True">     312:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_VUZfSU1NVVRBQkxFXzA_"><span class="b">UF_IMMUTABLE</span></a>    <span class="c">0x00000002</span>    <span class="k">/* file may not be changed */</span>
<a name="313" /><span class="True">     313:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_VUZfQVBQRU5EXzA_"><span class="b">UF_APPEND</span></a>    <span class="c">0x00000004</span>    <span class="k">/* writes to file may only append */</span>
<a name="314" /><span class="True">     314:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_VUZfT1BBUVVFXzA_"><span class="b">UF_OPAQUE</span></a>    <span class="c">0x00000008</span>    <span class="k">/* directory is opaque wrt. union */</span>
<a name="315" /><span class="True">     315:</span> <span class="k">/*</span>
<a name="316" /><span class="True">     316:</span> <span class="k"> * The following bit is reserved for FreeBSD.  It is not implemented</span>
<a name="317" /><span class="True">     317:</span> <span class="k"> * in Mac OS X.</span>
<a name="318" /><span class="True">     318:</span> <span class="k"> */</span>
<a name="319" /><span class="True">     319:</span> <span class="k">/* #define UF_NOUNLINK    0x00000010 */</span>    <span class="k">/* file may not be removed or renamed */</span>
<a name="320" /><span class="True">     320:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_VUZfQ09NUFJFU1NFRF8w"><span class="b">UF_COMPRESSED</span></a>    <span class="c">0x00000020</span>    <span class="k">/* file is hfs-compressed */</span>
<a name="321" /><span class="True">     321:</span> 
<a name="322" /><span class="True">     322:</span> <span class="k">/* UF_TRACKED is used for dealing with document IDs.  We no longer issue</span>
<a name="323" /><span class="True">     323:</span> <span class="k">   notifications for deletes or renames for files which have UF_TRACKED set. */</span>
<a name="324" /><span class="True">     324:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_VUZfVFJBQ0tFRF8w"><span class="b">UF_TRACKED</span></a>        <span class="c">0x00000040</span>
<a name="325" /><span class="True">     325:</span> 
<a name="326" /><span class="True">     326:</span> <span class="k">/* Bits 0x0080 through 0x4000 are currently undefined. */</span>
<a name="327" /><span class="True">     327:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_VUZfSElEREVOXzA_"><span class="b">UF_HIDDEN</span></a>    <span class="c">0x00008000</span>    <span class="k">/* hint that this item should not be */</span>
<a name="328" /><span class="True">     328:</span>                     <span class="k">/* displayed in a GUI */</span>
<a name="329" /><span class="True">     329:</span> <span class="k">/*</span>
<a name="330" /><span class="True">     330:</span> <span class="k"> * Super-user changeable flags.</span>
<a name="331" /><span class="True">     331:</span> <span class="k"> */</span>
<a name="332" /><span class="True">     332:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U0ZfU1VQUE9SVEVEXzA_"><span class="b">SF_SUPPORTED</span></a>    <span class="c">0x001f0000</span>    <span class="k">/* mask of superuser supported flags */</span>
<a name="333" /><span class="True">     333:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U0ZfU0VUVEFCTEVfMA__"><span class="b">SF_SETTABLE</span></a>    <span class="c">0xffff0000</span>    <span class="k">/* mask of superuser changeable flags */</span>
<a name="334" /><span class="True">     334:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U0ZfQVJDSElWRURfMA__"><span class="b">SF_ARCHIVED</span></a>    <span class="c">0x00010000</span>    <span class="k">/* file is archived */</span>
<a name="335" /><span class="True">     335:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U0ZfSU1NVVRBQkxFXzA_"><span class="b">SF_IMMUTABLE</span></a>    <span class="c">0x00020000</span>    <span class="k">/* file may not be changed */</span>
<a name="336" /><span class="True">     336:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U0ZfQVBQRU5EXzA_"><span class="b">SF_APPEND</span></a>    <span class="c">0x00040000</span>    <span class="k">/* writes to file may only append */</span>
<a name="337" /><span class="True">     337:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_U0ZfUkVTVFJJQ1RFRF8w"><span class="b">SF_RESTRICTED</span></a>    <span class="c">0x00080000</span>    <span class="k">/* restricted access */</span>
<a name="338" /><span class="True">     338:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_U0ZfTk9VTkxJTktfMA__"><span class="b">SF_NOUNLINK</span></a>    <span class="c">0x00100000</span>    <span class="k">/* Item may not be removed, renamed or mounted on */</span>
<a name="339" /><span class="True">     339:</span> 
<a name="340" /><span class="True">     340:</span> <span class="k">/*</span>
<a name="341" /><span class="True">     341:</span> <span class="k"> * The following two bits are reserved for FreeBSD.  They are not</span>
<a name="342" /><span class="True">     342:</span> <span class="k"> * implemented in Mac OS X.</span>
<a name="343" /><span class="True">     343:</span> <span class="k"> */</span>
<a name="344" /><span class="True">     344:</span> <span class="k">/* #define SF_SNAPSHOT    0x00200000 */</span>    <span class="k">/* snapshot inode */</span>
<a name="345" /><span class="True">     345:</span> <span class="k">/* NOTE: There is no SF_HIDDEN bit. */</span>
<a name="346" /><span class="True">     346:</span> 
<a name="347" /><span class="True">     347:</span> <span class="f">#</span><span class="n">endif</span>
<a name="348" /><span class="True">     348:</span> 
<a name="349" /><span class="True">     349:</span> 
<a name="350" /><span class="True">     350:</span> <a href="macros_ref.html#_X19CRUdJTl9ERUNMU18w"><span class="b">__BEGIN_DECLS</span></a>
<a name="351" /><span class="True">     351:</span> <span class="k">/* [XSI] */</span>
<a name="352" /><span class="True">     352:</span> <span class="m">int</span>    <span class="b">chmod</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fQUxJQVNfMA__"><span class="b">__DARWIN_ALIAS</span></a><span class="f">(</span><span class="b">chmod</span><span class="f">)</span><span class="f">;</span>
<a name="353" /><span class="True">     353:</span> <span class="m">int</span>    <span class="b">fchmod</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fQUxJQVNfMA__"><span class="b">__DARWIN_ALIAS</span></a><span class="f">(</span><span class="b">fchmod</span><span class="f">)</span><span class="f">;</span>
<a name="354" /><span class="True">     354:</span> <span class="m">int</span>    <span class="b">fstat</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">fstat</span><span class="f">)</span><span class="f">;</span>
<a name="355" /><span class="True">     355:</span> <span class="m">int</span>    <span class="b">lstat</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">lstat</span><span class="f">)</span><span class="f">;</span>
<a name="356" /><span class="True">     356:</span> <span class="m">int</span>    <span class="b">mkdir</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">)</span><span class="f">;</span>
<a name="357" /><span class="True">     357:</span> <span class="m">int</span>    <span class="b">mkfifo</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">)</span><span class="f">;</span>
<a name="358" /><span class="True">     358:</span> <span class="m">int</span>    <span class="b">stat</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">stat</span><span class="f">)</span><span class="f">;</span>
<a name="359" /><span class="True">     359:</span> <span class="m">int</span>    <span class="b">mknod</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">,</span> <span class="b">dev_t</span><span class="f">)</span><span class="f">;</span>
<a name="360" /><span class="True">     360:</span> <span class="b">mode_t</span>    <span class="b">umask</span><span class="f">(</span><span class="b">mode_t</span><span class="f">)</span><span class="f">;</span>
<a name="361" /><span class="True">     361:</span> 
<a name="362" /><span class="True">     362:</span> <span class="f">#</span><span class="n">if</span> <a href="macros_ref.html#_X19EQVJXSU5fQ19MRVZFTF8w"><span class="b">__DARWIN_C_LEVEL</span></a> <span class="f">&gt;=</span> <span class="c">200809L</span>
<a name="363" /><span class="True">     363:</span> <span class="m">int</span>    <span class="b">fchmodat</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMTBfMA__"><span class="b">__MAC_10_10</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfOF8wXzA_"><span class="b">__IPHONE_8_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="364" /><span class="True">     364:</span> <span class="m">int</span>    <span class="b">fstatat</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">*</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">fstatat</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMTBfMA__"><span class="b">__MAC_10_10</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfOF8wXzA_"><span class="b">__IPHONE_8_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="365" /><span class="True">     365:</span> <span class="m">int</span>    <span class="b">mkdirat</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMTBfMA__"><span class="b">__MAC_10_10</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfOF8wXzA_"><span class="b">__IPHONE_8_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="366" /><span class="True">     366:</span> <span class="f">#</span><span class="n">endif</span>
<a name="367" /><span class="True">     367:</span> 
<a name="368" /><span class="True">     368:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X0RBUldJTl9DX1NPVVJDRV8w"><span class="b">_DARWIN_C_SOURCE</span></a><span class="f">)</span>
<a name="369" /><span class="True">     369:</span> 
<a name="370" /><span class="True">     370:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_types</span><span class="f">/</span><span class="b">_filesec_t</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="371" /><span class="True">     371:</span> 
<a name="372" /><span class="True">     372:</span> <span class="m">int</span>    <span class="b">chflags</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">__uint32_t</span><span class="f">)</span><span class="f">;</span>
<a name="373" /><span class="True">     373:</span> <span class="m">int</span>    <span class="b">chmodx_np</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span><span class="f">;</span>
<a name="374" /><span class="True">     374:</span> <span class="m">int</span>    <span class="b">fchflags</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="b">__uint32_t</span><span class="f">)</span><span class="f">;</span>
<a name="375" /><span class="True">     375:</span> <span class="m">int</span>    <span class="b">fchmodx_np</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span><span class="f">;</span>
<a name="376" /><span class="True">     376:</span> <span class="m">int</span>    <span class="b">fstatx_np</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">fstatx_np</span><span class="f">)</span><span class="f">;</span>
<a name="377" /><span class="True">     377:</span> <span class="m">int</span>    <span class="b">lchflags</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">__uint32_t</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfMl8wXzA_"><span class="b">__IPHONE_2_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="378" /><span class="True">     378:</span> <span class="m">int</span>    <span class="b">lchmod</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">mode_t</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfMl8wXzA_"><span class="b">__IPHONE_2_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="379" /><span class="True">     379:</span> <span class="m">int</span>    <span class="b">lstatx_np</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">lstatx_np</span><span class="f">)</span><span class="f">;</span>
<a name="380" /><span class="True">     380:</span> <span class="m">int</span>    <span class="b">mkdirx_np</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span><span class="f">;</span>
<a name="381" /><span class="True">     381:</span> <span class="m">int</span>    <span class="b">mkfifox_np</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span><span class="f">;</span>
<a name="382" /><span class="True">     382:</span> <span class="m">int</span>    <span class="b">statx_np</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span> <a href="macros_ref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">statx_np</span><span class="f">)</span><span class="f">;</span>
<a name="383" /><span class="True">     383:</span> <span class="m">int</span>    <span class="b">umaskx_np</span><span class="f">(</span><span class="b">filesec_t</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNF8w"><span class="b">__MAC_10_4</span></a><span class="f">,</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="384" /><span class="True">     384:</span> 
<a name="385" /><span class="False">     385:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><a href="macros_ref.html#_X19EQVJXSU5fT05MWV82NF9CSVRfSU5PX1RfMA__"><span class="b">__DARWIN_ONLY_64_BIT_INO_T</span></a>
<a name="386" /><span class="False">     386:</span> <span class="k">/* The following deprecated routines are simillar to stat and friends except provide struct stat64 instead of struct stat  */</span>
<a name="387" /><span class="False">     387:</span> <span class="m">int</span>    <span class="b">fstatx64_np</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat64</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="388" /><span class="False">     388:</span> <span class="m">int</span>    <span class="b">lstatx64_np</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat64</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="389" /><span class="False">     389:</span> <span class="m">int</span>    <span class="b">statx64_np</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat64</span> <span class="f">*</span><span class="f">,</span> <span class="b">filesec_t</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="390" /><span class="False">     390:</span> <span class="m">int</span>    <span class="b">fstat64</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat64</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="391" /><span class="False">     391:</span> <span class="m">int</span>    <span class="b">lstat64</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat64</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="392" /><span class="False">     392:</span> <span class="m">int</span>    <span class="b">stat64</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">,</span> <span class="m">struct</span> <span class="b">stat64</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNV8w"><span class="b">__MAC_10_5</span></a><span class="f">,</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">,</span><span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="393" /><span class="True">     393:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__DARWIN_ONLY_64_BIT_INO_T */</span>
<a name="394" /><span class="True">     394:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */</span>
<a name="395" /><span class="True">     395:</span> 
<a name="396" /><span class="True">     396:</span> <a href="macros_ref.html#_X19FTkRfREVDTFNfMA__"><span class="b">__END_DECLS</span></a>
<a name="397" /><span class="True">     397:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !_SYS_STAT_H_ */</span>
<a name="398" /><span class="True">     398:</span> </pre>
  </body>
</html>
